/**
 * ExcelUtil 操作EXcel文件
 */
const xlsx=require("node-xlsx");
const fs=require("fs");

 class ExcelUtil{
     constructor(){
         throw new Error("当前对象不允许new调用");
     }
     /**
      * @name resultToExcel 导出为exceo文件
      * @param {Array} result 要生成Excel的数组 
      * @param {string} excelPath  要保存Excel的位置
      */
     static resultToExcel(result,excelPath){
        if(result instanceof Array&&result.length>0){
            let excelData=[];
            excelData.push(Object.keys(result[0]));
            result.forEach(item=>{
                excelData.push(Object.values(item));
            });

            let excelBuffer=xlsx.build([{
                name:"Sheet1",
                data:excelData
            }]);
            fs.writeFileSync(excelPath,excelBuffer);
        }
        else{
            throw new Error("要导出的数组必须是数组，且不能为空")
        }
     }
 }

 module.exports=ExcelUtil;